package kr.co.m2soft.intern;

import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.FontSubsetGenerator;

/**
 * Test Font make Subset from used glyphs
 * @author dogfooter
 *
 */

public class FontSubsetGeneratorTest {

	public static void main(String[] args) throws DocumentException, IOException {

		String resultPath = "";
		
		String lang[] = { "jap", "CN", "kor" };
		String fontType[] = { "ttf", "otf" };
		String text[] = {
				"梅雨前線が中部から南部に移動しました。\r\n" + "\r\n" + "ソウルは空が折りたたみが、忠清と南部地方には雨が降っていますよ。\r\n" + "\r\n"
						+ "特に強い雨雲が通る忠清北道報恩と慶北盈徳、青松などは大雨注意報が発効している。\r\n" + "\r\n" + "この地域では、時間当たり30mm前後の強い雨が集中しています。\r\n"
						+ "\r\n" + "これから雨は主に嶺南地方に集中するでしょうね、嶺南内陸に夜まで120mm以上の大雨がより下すよ。\r\n" + "\r\n"
						+ "その他の嶺南と全羅南道内陸にも30〜80mm、忠清南と全北、全南海岸にも20〜60mmの雨が来ます。~_?>+_’”`☆★◎\r\n" + "",
				"特別是，忠北，慶北感謝尤金，青松一樣強降雨雲團的傳球暴雨警告生效。\r\n" + "\r\n" + "這一地區一直下雨的強烈關注了每30毫米。\r\n" + "\r\n"
						+ "正向再下雨，主要集中在南省，在安靜的預測比雨120毫米夜更南​​內陸很多。\r\n" + "\r\n" + "甚至的20〜60毫米降雨30〜80毫米和忠清南道，全羅北道，全羅南\r\n"
						+ "道海岸在韓國東南部，全南內陸五位。~_?>+_’”`☆★◎",

				"장마전선이 중부에서 남부로 이동했습니다.\r\n" + "\r\n" + "서울은 하늘이 개고 있지만, 충청과 남부지방에는 비가 내리고 있는데요.\r\n" + "\r\n"
						+ "특히 강한 비구름이 지나는 충북 보은과 경북 영덕, 청송 등에는 호우주의보가 발효 중입니다.\r\n" + "\r\n"
						+ "이 지역으로는 시간당 30mm 안팎의 강한 비가 집중되고 있습니다.\r\n" + "\r\n"
						+ "앞으로 비는 주로 영남 지방에 집중되겠는데요, 영남 내륙에 밤까지 120mm 이상의 많은 비가 더 내리겠고요.\r\n" + "\r\n"
						+ "그 밖의 영남과 전남 내륙에도 30~80mm, 충청 남부와 전북, 전남 해안에도 20~60mm의 비가 오겠습니다.\r\n" + "~_?>+_’”`☆★◎\r\n"
						+ ""

		};

		String path = "fonts/" + lang[0] + "/" + fontType[1];
		Path dir = null;
		for (int i = 0; i < lang.length; i++) {
			for (int j = 0; j < fontType.length; j++) {
				path = "fonts/" + lang[i] + "/" + fontType[j];
				dir = Paths.get(path);
				try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
					for (Path file : stream) {
						// Do stuff with file
						resultPath = FontSubsetGenerator.GEN(file.toAbsolutePath().toString(), "result\\"+file.getFileName(), text[i]);
						System.out.println(resultPath);
					}
				}

			}

		}

		resultPath = FontSubsetGenerator.GEN("fonts/kor/otf/THEnamuF.otf", "result.otf", text[2]);
		System.out.println(resultPath);
		System.out.println("done");
	}
}
